import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";

// elementPlus
import ElementPlus from 'element-plus'
// 引入css样式
import 'element-plus/theme-chalk/index.css'
// 国际化：使用中文语言包
import locale from 'element-plus/es/locale/lang/zh-cn'
// ElementPlus使用dayjs，这里也引入中文语言包
import 'dayjs/locale/zh-cn'

import "@/utils/dialog";

// 在页面卸载时将vuex里的信息保存到sessionStorage里
window.addEventListener("beforeunload", () => {
    sessionStorage.setItem("store", JSON.stringify(store.state));
});

// 页面加载时，将sessionStorage里面的数据加载进vuex中（利用vuex提供的replaceState函数）
const storeItem = sessionStorage.getItem("store");
if (storeItem) {
    store.replaceState(Object.assign({}, store.state, JSON.parse(storeItem)));
}

// 创建app实例（后续代码由链式调用改为了使用实例调用）
const app = createApp(App);
// 使用Vuex
app.use(store);
// 使用vue-router
app.use(router);
// 使用ElementPlus，并配置国际化
app.use(ElementPlus,{locale});
// 挂载
app.mount("#app");